大概记录一下golang里面的net/http包内client.go的文件,及其相关内容
Cookie
Cookie struct
Cookie 表示HTTP cookie相关内容,用于HTTP响应和HTTP请求header1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18type Cookie struct {
4Name string
4Value string
4Path string // optional
4Domain string // optional
4Expires time.Time // optional
4RawExpires string // for reading cookies only
4// MaxAge=0 表示没有当前MaxAge
4// MaxAge<0 表示立即删除当前cookie,等同于'Max-Age: 0'
4// MaxAge>0 表示MaxAge存在,并用秒来表示
4MaxAge int
4Secure bool
4HttpOnly bool
4Raw string
4Unparsed []string // 未解析的kv对原始文本
}
Cookie method
1 | func (c *Cookie) String() string |
String 返回cookie的序列化以在Cookie头中使用(如果仅设置Name和Value)或Set-Cookie响应头(如果设置了其他字段)。如果c为nil或者c.Name非法,返回空字符串
Cookie function
1 | func readSetCookies(h Header) []*Cookie |
readSetCookies 解析h中的所有“Set-Cookie”值并返回成功解析的Cookie。1
func SetCookie(w ResponseWriter, cookie *Cookie)
SetCookie 向w中添加Set-Cookie header。 提供的cookie必须具有有效的名称。 无效的cookie可能会被静默删除。1
func readCookies(h Header, filter string) []*Cookie
readCookies 从h中解析cookie,返回成功解析的cookies,如果filter不为空,则只返回当前filter名字的cookie1
func validCookieDomain(v string) bool
validCookieDomain 判断v是否是合法的cookie格式1
func validCookieExpires(t time.Time) bool
validCookieExpires 判断v的过期时间是否合法1
func isCookieDomainName(s string) bool
isCookieDomainName 判断s是否是有效域名或名字由‘.’开始1
func sanitizeCookieName(n string) string
sanitizeCookieName1
func sanitizeCookieValue(v string) string
sanitizeCookieValue1
func validCookieValueByte(b byte) bool
validCookieValueByte1
func sanitizeCookiePath(v string) string
sanitizeCookiePath1
func validCookiePathByte(b byte) bool
validCookiePathByte1
func sanitizeOrWarn(fieldName string, valid func(byte) bool, v string) string
sanitizeOrWarn1
func parseCookieValue(raw string, allowDoubleQuote bool) (string, bool)
parseCookieValue1
func isCookieNameValid(raw string) bool
isCookieNameValid 判断cookie name是否合法